TODO
The first dataset considered is the Steam Video Games Dataset. This dataset is a list of user behaviors, with columns: user-id, game-title, behavior-name, value. The behaviors included are ‘purchase’ and ‘play’. The value indicates the degree to which the behavior was performed. In the case of ‘purchase’ the value is always 1, and in the case of ‘play’ the value represents the number of hours the user has played the game.
| user.id | game.title | behavior.name | value |
|---|---|---|---|
| 151603712 | The Elder Scrolls V Skyrim | purchase | 1.0 |
| 151603712 | The Elder Scrolls V Skyrim | play | 273.0 |
| 151603712 | Fallout 4 | purchase | 1.0 |
| 151603712 | Fallout 4 | play | 87.0 |
| 151603712 | Spore | purchase | 1.0 |
| 151603712 | Spore | play | 14.9 |
The dataset contains 200k entries relative to over 12k different users and over 5k games. The skewness of the data, equal to 10.74, is evident, with a median of 2 and a mean of 10 game purchases per user. Also the playtime has a high variability between gamers: from users that played for less than 5 minutes, to users with thousands and thousands of hours. The user with the highest number of games has 1552 games with a playtime of 6778 hours. Instead the user that spent the highest number of hours playing spent 11906 hours on 433 different games. Sadly the dataset does not contain the period in which the hours were spent.
Steam games complete dataset is the second dataset used. In this one are listed 40k games, each with a set of information about the genre, the developer, associated tags, description, and others. For the purpose of this assignment we are interested only in a subset of the columns, for example the url to the Steam page is not useful for us. Follows a glimpse of the data.
| name | release_date | genre | developer |
|---|---|---|---|
| DOOM | May 12, 2016 | Action | id Software |
| PLAYERUNKNOWN’S BATTLEGROUNDS | Dec 21, 2017 | Action,Adventure,Massively Multiplayer | PUBG Corporation |
| BATTLETECH | Apr 24, 2018 | Action,Adventure,Strategy | Harebrained Schemes |
| DayZ | Dec 13, 2018 | Action,Adventure,Massively Multiplayer | Bohemia Interactive |
| EVE Online | May 6, 2003 | Action,Free to Play,Massively Multiplayer,RPG,Strategy | CCP |
| Grand Theft Auto V: Premium Online Edition | NaN | Action,Adventure | Rockstar North |
Because I was interested in following the connections between gamers and type of games played I’ve created two sub datasets: users_info.csv is a subset of the first one, while games_info.csv is a subset of the second. They were created joining the initial datasets in a way that, for now on, only games with players will be considered and only player that play games for which we actually have details. Summing up we consider 2k games and 10k users, with over 90k user-game interactions (either “purchase” or “play”). Every users plays at least one of the 2k games and every game has at least a player.
TODO tradurre ed estendere
Dal plot possiamo notare che: 1. il clustering ha piu’ senso se osserviamo “default” 2. chi ha piu’ ore non e’ chi ha piu’ giochi 3. chi ha piu’ giochi e’ chi ha speso piu’ soldi 4. la maggior parte dei giocatori ha speso poco e ha giocato poco
TODO Commentare il grafico
riguardo al tempo * divertente che i due con il maggior numero di ore le hanno fatte solo su un gioco * i due con molti giochi hanno giocato spalmando le ore
p =
pie_data %>%
select(user.id, game.title, price, hours) %>%
#ggplot(aes(x=hours, y=price, size=hours)) +
ggplot(aes(x=hours, y=price, text=game.title)) +
geom_point(aes(alpha=0.2)) +
geom_rug() +
facet_wrap(~user.id, scale="free_x")
#p
# TODO title and labels
gp = ggplotly(p, tooltip = c("text")) #%>%
#config(displayModeBar = FALSE) %>%
#layout(yaxis = list(fixedrange = TRUE),
# xaxis = list(fixedrange = TRUE))
#gp$x$attrs[['27083d1c5a80']]
#gp$x$attrs[['2708284a5c83']]
#gp$x$layoutAttrs[['2708284a5c83']] = gp$x$layoutAttrs[['27083d1c5a80']]
#
#gp$x$layoutAttrs[['27083d1c5a80']]
#gp$x$layoutAttrs[['2708284a5c83']]
gp
TODO commento sul grafico sopra
TODO?
Giochi usciti recentemente vengono giocati di più?
Oppure ci sono picchi di giocatori nei tempi sucessivi al rilascio e poi paino piano sfuma? TODO dire che questa è una domanda senza risposta per i dati che abbiamo oppure trovare qualcosa di simile
TODO commentare
Il tempo di gioco rispetto ai generi fa notare qualche cosa? il genere più popolare (persone che gli hanno dato una possibilità/comprato) è anche quello più giocato (comprato ed effettivamente apprezzato molto)?
## [1] "22 generi differenti"
Notare come i Free2Play sono molto presenti e sono anche molto giocati! significa che la gente gioca a quelli un po’ a caso tanto per
Come è variata la presenza dei generi negli anni? (bel grafico animato)
Notare come di F2P negli anni non ne siano usciti moltissimi eppure, assieme agli action, sono quelli giocati di piu’. Ora sarebbe da capire quanti dei F2P sono action e quanti degli indie sono action, o comunque che tipo di correlazioni ci sono tra i generi.
" questo e’ circa text mining sulle stringhe che definiscono i generi" TODO rimuovere discorso dell’ordine
Assumendo che l’ordine dei tag dei generi indichi la maggior appartenenza (“Indie, Action” indica che e’ piu’ indie che action) Notiamo che indie e’ correlato in modo molto forte ad action, quindi questo spiega il fatto che siano entrambi molto diffusi. Mente f2p e’ sganciato da indie, giochi che di solito costano poco perche’ costa poco farli e quindi non vengono messi a gratis Proprio marketing differenti TODO aggiustare commento in realzione all’ordinamento dei generi
Qui ogni arco rappresenta la frequenza con cui la coppia compare nel genere di un gioco diviso la somma delle frequenze dei generi. Se rilassiamo l’assunzione riguardo all’ordine dei generi possiamo notare che si formano due cluster Il primo e’ foramto da software di utility mentre il secondo da i veri e propri giochi. Zoomando sul cluster relativo ai giochi
TODO commento vediamo che il legame tra ftp e mmo e’ molto forte zoomando ancora
TODO Commentare grafico